#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""DocString

Funciones para la gestion de servidores de DNS

"""

def install_dns_secundario():
    """   Instala y configura un dns secundario  """

    CONFIG_FILE="/etc/bind/named.conf.local"
    TEMPLATE_FILE="./templates/named.conf.local"
    DAEMON="/etc/init.d/bind9"

    DNS_SEC_REEMPLAZO = {
            "NOMBRE_DOMINIO" : "red",
            "DNS_MAESTRO" : "192.168.2.246",
            "RED":"192.168.2.0",
            "SUBRED":"",
            }
    
    tmp = raw_input('Nombre del dominio ['+DNS_SEC_REEMPLAZO['NOMBRE_DOMINIO']+']: ')
    if tmp:
        DNS_SEC_REEMPLAZO['NOMBRE_DOMINIO'] = tmp
    tmp = raw_input('Servidor Maestro DNS ['+DNS_SEC_REEMPLAZO['DNS_MAESTRO']+']: ')
    if tmp:
        DNS_SEC_REEMPLAZO['DNS_MAESTRO'] = tmp
    tmp = raw_input('Red ['+DNS_SEC_REEMPLAZO['RED']+']:')
    if tmp:
        DNS_SEC_REEMPLAZO['RED'] = tmp
    tmp = DNS_SEC_REEMPLAZO['RED'].split('.')
    tmp.reverse()
    t='.'
    DNS_SEC_REEMPLAZO['SUBRED'] = t.join(tmp[1:4])
   
    print DNS_SEC_REEMPLAZO 
    #Ejecutamos las órdenes con sudo
    mode_sudo()
    #Instalamos el paquete en el caso de que no lo esté
    package_ensure("bind9") 
    if file_exists(CONFIG_FILE):
        save_original(CONFIG_FILE)
        # Hecha la copia de borra el original
        run("rm " + CONFIG_FILE)
    file_append(CONFIG_FILE,remplaza_strstr(local_read(TEMPLATE_FILE),DNS_SEC_REEMPLAZO),"644","root","root")

    # Reiniciamos el demonio
    run(DAEMON + " restart")

    print "\n\nATENCION: Hay que añadir la nueva zona en el maestro\n\n"

